{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 沪银1601(ag1601)和螺纹钢1605(rb1605)，选择哪只品种之个人分析"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 技术分析角度"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 第一：首先，考虑到量化交易的程序化交易性质，应该更多地关注技术指标和量价分析，根据历史交易量、价格、持仓量的综合分析对比，进行短线甚至超短线交易，十几天到日内交易不等，这样更有利于发挥量化模型的快速、高频、高效的优势，所以，这里首先强调技术分析而非基本面角度；\n",
    "\n",
    "#### 第二：根据同花顺2016年数据，沪银1601主要交易日期，交易量日均从五六千万到两三亿不等，持仓量从一两千到两万手之间，螺纹1905交易量小则五六十亿到七八十亿，多则可达千亿日交易规模，持仓量一般也是百万级，所以，根据量价角度，感觉螺纹钢更适合用量化模型进行程式化套利交易\n",
    "\n",
    "#### 第三；从k线形态角度来看，螺纹1605整体波动性较大，最高最低价差为2500多，沪银最大波峰波谷价差为1400多，如果做短期套利，快进快出，个人比较偏向波动性比较大的品种，可能性会多一些（当然，对输赢双向来说）。而且螺纹1605K线形态相对比较\"稳定\"和“可预测”，上升下降趋势有较大的规律性，这个对程序化识别趋势是一个较大的利好消息，有利于较好地实现果断止盈止损，只是时点相对难把握一些，但是，这个对任何交易者任何交易手段，都是难题和考验。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 宏观基本面角度"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "####    首先可以从供给和需求角度去尝试分析预测，螺纹钢是重要的建材，与房地产行业的繁荣和衰退基本成正相关关系，可以根据当前（2016年）相关时事新闻、各大券商的相关行研报告，加上自我分析，进行判断；白银是贵重金属，是重要的工业原料，也可用来冲抵通胀风险，同时，比如发现大型银矿资源，或者发现银金属的新型用途，都会影响银的供需状况，进而影响现货价格和期货价格，\n",
    "\n",
    "#### 分析国家经济政策导向，包括货币政策、财政政策和产业政策，可以根据自己的知识和经验结构，尝试揣摩政府心理进而决定期货投资品种。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 庄家和主力角度"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "####  可以通过观察盘口信息，收集大单交易信息，和一些盘口异常波动，尝试发现庄家主力操作的蛛丝马迹，尝试观察上半个月一个月，时刻跟踪，同时要谨防其声东击西，在类似相近期货品种中用障眼法。若发现有很大庄家操作可能性，下一步便是分析其处于哪一个操作阶段，一般庄家需要考虑到其自身的资金规模和成本，会有一个操作周期，且其一旦制定，不会轻易更改，所以我们也应但凡确认了某只期货有庄，且可以跟进，同时设立好自己的止盈止损点位，并严格执行，防止被其中途震仓出局，或因误判造成过大损失。\n",
    "####  由于本人仅有股票实盘经验，期市庄家操作手法不很清楚，不过感觉应该可以触类旁通，殊途同归，这里仅作简要阐述。个人感觉跟庄还是比较高效、有力的一种操作手法和操作指标，值得深入研究。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 大众心理"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 可以通过大众心理，和行为金融学角度，逆大众心理操作套利"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 以期货合约，螺纹1605为例，具体分析，尝试运用均线模型进行测试"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 一、导入库及相关设置"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 522,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "import warnings\n",
    "warnings.filterwarnings(\"ignore\")\n",
    "plt.rcParams[\"font.sans-serif\"] = [\"SimHei\"]\n",
    "plt.rcParams[\"axes.unicode_minus\"] = False\n",
    "pd.options.display.max_rows = 20"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 二、读入、合并文件， 生成MergeData"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 523,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "filepath = r\"C:\\Users\\新田草\\Desktop\\近期文件\\职业能力文件夹\\Python量化分析能力训练\\数据收集——数据处理样本\\实习量化策略设计（数据）\\Data\\RB\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 524,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>大富翁数据中心_市场代码</th>\n",
       "      <th>合约代码</th>\n",
       "      <th>最新</th>\n",
       "      <th>持仓</th>\n",
       "      <th>增仓</th>\n",
       "      <th>成交额</th>\n",
       "      <th>成交量</th>\n",
       "      <th>开仓</th>\n",
       "      <th>平仓</th>\n",
       "      <th>成交类型</th>\n",
       "      <th>方向</th>\n",
       "      <th>买一价</th>\n",
       "      <th>卖一价</th>\n",
       "      <th>买一量</th>\n",
       "      <th>卖一量</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>时间</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-03-04 20:02:37.500</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>1987.0</td>\n",
       "      <td>1843186</td>\n",
       "      <td>1843186</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>921593</td>\n",
       "      <td>-921593</td>\n",
       "      <td>空开</td>\n",
       "      <td>S</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 20:59:00.500</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>1990.0</td>\n",
       "      <td>1843662</td>\n",
       "      <td>476</td>\n",
       "      <td>23243200.0</td>\n",
       "      <td>1168.0</td>\n",
       "      <td>822</td>\n",
       "      <td>346</td>\n",
       "      <td>多开</td>\n",
       "      <td>B</td>\n",
       "      <td>1989.0</td>\n",
       "      <td>1990.0</td>\n",
       "      <td>4</td>\n",
       "      <td>33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 21:00:00.500</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>1990.0</td>\n",
       "      <td>1843908</td>\n",
       "      <td>246</td>\n",
       "      <td>16239260.0</td>\n",
       "      <td>816.0</td>\n",
       "      <td>531</td>\n",
       "      <td>285</td>\n",
       "      <td>多开</td>\n",
       "      <td>B</td>\n",
       "      <td>1990.0</td>\n",
       "      <td>1991.0</td>\n",
       "      <td>26</td>\n",
       "      <td>146</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                        大富翁数据中心_市场代码    合约代码      最新       持仓       增仓  \\\n",
       "时间                                                                       \n",
       "2016-03-04 20:02:37.500           sc  rb1605  1987.0  1843186  1843186   \n",
       "2016-03-04 20:59:00.500           sc  rb1605  1990.0  1843662      476   \n",
       "2016-03-04 21:00:00.500           sc  rb1605  1990.0  1843908      246   \n",
       "\n",
       "                                成交额     成交量      开仓      平仓 成交类型 方向     买一价  \\\n",
       "时间                                                                            \n",
       "2016-03-04 20:02:37.500         0.0     0.0  921593 -921593   空开  S     0.0   \n",
       "2016-03-04 20:59:00.500  23243200.0  1168.0     822     346   多开  B  1989.0   \n",
       "2016-03-04 21:00:00.500  16239260.0   816.0     531     285   多开  B  1990.0   \n",
       "\n",
       "                            卖一价  买一量  卖一量  \n",
       "时间                                         \n",
       "2016-03-04 20:02:37.500     0.0    0    0  \n",
       "2016-03-04 20:59:00.500  1990.0    4   33  \n",
       "2016-03-04 21:00:00.500  1991.0   26  146  "
      ]
     },
     "execution_count": 524,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "f = open(filepath + \"\\\\rb1605_20160307.csv\")\n",
    "f.seek(0)\n",
    "MergeData = pd.read_csv(f, sep = \",\", index_col = \"时间\")\n",
    "f.close()\n",
    "MergeData.head(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 525,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['2016-03-04 20:02:37.500', '2016-03-04 20:59:00.500',\n",
       "       '2016-03-04 21:00:00.500', '2016-03-04 21:00:01.000',\n",
       "       '2016-03-04 21:00:01.500', '2016-03-04 21:00:02.000',\n",
       "       '2016-03-04 21:00:02.500', '2016-03-04 21:00:03.000',\n",
       "       '2016-03-04 21:00:03.500', '2016-03-04 21:00:04.000',\n",
       "       ...\n",
       "       '2016-03-07 14:59:56.500', '2016-03-07 14:59:57.000',\n",
       "       '2016-03-07 14:59:57.500', '2016-03-07 14:59:58.000',\n",
       "       '2016-03-07 14:59:58.500', '2016-03-07 14:59:59.000',\n",
       "       '2016-03-07 14:59:59.500', '2016-03-07 15:00:00.000',\n",
       "       '2016-03-07 15:00:00.500', '2016-03-07 15:57:45.500'],\n",
       "      dtype='object', name='时间', length=41806)"
      ]
     },
     "execution_count": 525,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "MergeData.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 526,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "41806"
      ]
     },
     "execution_count": 526,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(MergeData)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 527,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(41806, 15)"
      ]
     },
     "execution_count": 527,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "MergeData.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 528,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>大富翁数据中心_市场代码</th>\n",
       "      <th>合约代码</th>\n",
       "      <th>最新</th>\n",
       "      <th>持仓</th>\n",
       "      <th>增仓</th>\n",
       "      <th>成交额</th>\n",
       "      <th>成交量</th>\n",
       "      <th>开仓</th>\n",
       "      <th>平仓</th>\n",
       "      <th>成交类型</th>\n",
       "      <th>方向</th>\n",
       "      <th>买一价</th>\n",
       "      <th>卖一价</th>\n",
       "      <th>买一量</th>\n",
       "      <th>卖一量</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>时间</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-03-07 18:51:12.500</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>2073.0</td>\n",
       "      <td>1725824</td>\n",
       "      <td>1725824</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.0</td>\n",
       "      <td>862912</td>\n",
       "      <td>-862912</td>\n",
       "      <td>空开</td>\n",
       "      <td>S</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-07 20:59:00.500</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>2194.0</td>\n",
       "      <td>1716960</td>\n",
       "      <td>-8864</td>\n",
       "      <td>1.553045e+09</td>\n",
       "      <td>70786.0</td>\n",
       "      <td>30961</td>\n",
       "      <td>39825</td>\n",
       "      <td>空平</td>\n",
       "      <td>B</td>\n",
       "      <td>2193.0</td>\n",
       "      <td>2194.0</td>\n",
       "      <td>51</td>\n",
       "      <td>2589</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-07 21:00:00.500</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>2183.0</td>\n",
       "      <td>1718974</td>\n",
       "      <td>2014</td>\n",
       "      <td>1.960542e+08</td>\n",
       "      <td>8952.0</td>\n",
       "      <td>5483</td>\n",
       "      <td>3469</td>\n",
       "      <td>空开</td>\n",
       "      <td>S</td>\n",
       "      <td>2183.0</td>\n",
       "      <td>2189.0</td>\n",
       "      <td>81</td>\n",
       "      <td>945</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                        大富翁数据中心_市场代码    合约代码      最新       持仓       增仓  \\\n",
       "时间                                                                       \n",
       "2016-03-07 18:51:12.500           sc  rb1605  2073.0  1725824  1725824   \n",
       "2016-03-07 20:59:00.500           sc  rb1605  2194.0  1716960    -8864   \n",
       "2016-03-07 21:00:00.500           sc  rb1605  2183.0  1718974     2014   \n",
       "\n",
       "                                  成交额      成交量      开仓      平仓 成交类型 方向  \\\n",
       "时间                                                                       \n",
       "2016-03-07 18:51:12.500  0.000000e+00      0.0  862912 -862912   空开  S   \n",
       "2016-03-07 20:59:00.500  1.553045e+09  70786.0   30961   39825   空平  B   \n",
       "2016-03-07 21:00:00.500  1.960542e+08   8952.0    5483    3469   空开  S   \n",
       "\n",
       "                            买一价     卖一价  买一量   卖一量  \n",
       "时间                                                  \n",
       "2016-03-07 18:51:12.500     0.0     0.0    0     0  \n",
       "2016-03-07 20:59:00.500  2193.0  2194.0   51  2589  \n",
       "2016-03-07 21:00:00.500  2183.0  2189.0   81   945  "
      ]
     },
     "execution_count": 528,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "f = open(filepath + \"\\\\rb1605_20160308.csv\")\n",
    "f.seek(0)\n",
    "MergeData1 = pd.read_csv(f, sep = \",\", index_col = \"时间\")\n",
    "f.close()\n",
    "MergeData1.head(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 529,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "34485"
      ]
     },
     "execution_count": 529,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(MergeData1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 530,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(34485, 15)"
      ]
     },
     "execution_count": 530,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "MergeData1.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 执行合并文件程序，并计时"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 531,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "合并成功\n",
      "合并成功\n",
      "合并成功\n",
      "合并成功\n",
      "合并成功\n",
      "合并成功\n",
      "合并成功\n",
      "合并成功\n",
      "合并成功\n",
      "合并成功\n",
      "合并成功\n",
      "Wall time: 5.52 s\n"
     ]
    }
   ],
   "source": [
    "%%time \n",
    "d = [\"08\", \"09\", \"10\", \"11\", \"14\", \"15\", \"16\", \"17\", \"18\", \"21\", \"22\"]\n",
    "data = pd.DataFrame()\n",
    "for i in d:\n",
    "    name = \"\\\\rb1605_201603%s.csv\" % i\n",
    "    f = open(filepath + name)\n",
    "    f.seek(0)\n",
    "    data = pd.read_csv(f, sep = \",\", index_col = \"时间\")\n",
    "    f.close()\n",
    "    \n",
    "    #合并，同时检查是否成功成功\n",
    "    x = len(MergeData) \n",
    "    y = len(data)\n",
    "    MergeData = pd.concat([MergeData, data], axis = 0)\n",
    "    print(\"合并成功\" if (x + y) == len(MergeData) else \"合并失败\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 532,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(621958, 15)"
      ]
     },
     "execution_count": 532,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "MergeData.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 已经生成 MergeData，进行相关检查和检验"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 533,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>大富翁数据中心_市场代码</th>\n",
       "      <th>合约代码</th>\n",
       "      <th>最新</th>\n",
       "      <th>持仓</th>\n",
       "      <th>增仓</th>\n",
       "      <th>成交额</th>\n",
       "      <th>成交量</th>\n",
       "      <th>开仓</th>\n",
       "      <th>平仓</th>\n",
       "      <th>成交类型</th>\n",
       "      <th>方向</th>\n",
       "      <th>买一价</th>\n",
       "      <th>卖一价</th>\n",
       "      <th>买一量</th>\n",
       "      <th>卖一量</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>时间</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-03-22 15:00:00.000</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>2214.0</td>\n",
       "      <td>995244</td>\n",
       "      <td>-38</td>\n",
       "      <td>4914960.0</td>\n",
       "      <td>222.0</td>\n",
       "      <td>92</td>\n",
       "      <td>130</td>\n",
       "      <td>空平</td>\n",
       "      <td>B</td>\n",
       "      <td>2213.0</td>\n",
       "      <td>2214.0</td>\n",
       "      <td>311</td>\n",
       "      <td>64</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-22 15:00:00.500</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>2214.0</td>\n",
       "      <td>995244</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>多换</td>\n",
       "      <td>B</td>\n",
       "      <td>2213.0</td>\n",
       "      <td>2214.0</td>\n",
       "      <td>311</td>\n",
       "      <td>64</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-22 15:21:46.000</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>2214.0</td>\n",
       "      <td>995244</td>\n",
       "      <td>0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>多换</td>\n",
       "      <td>B</td>\n",
       "      <td>2213.0</td>\n",
       "      <td>2214.0</td>\n",
       "      <td>311</td>\n",
       "      <td>64</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                        大富翁数据中心_市场代码    合约代码      最新      持仓  增仓        成交额  \\\n",
       "时间                                                                            \n",
       "2016-03-22 15:00:00.000           sc  rb1605  2214.0  995244 -38  4914960.0   \n",
       "2016-03-22 15:00:00.500           sc  rb1605  2214.0  995244   0        0.0   \n",
       "2016-03-22 15:21:46.000           sc  rb1605  2214.0  995244   0        0.0   \n",
       "\n",
       "                           成交量  开仓   平仓 成交类型 方向     买一价     卖一价  买一量  卖一量  \n",
       "时间                                                                         \n",
       "2016-03-22 15:00:00.000  222.0  92  130   空平  B  2213.0  2214.0  311   64  \n",
       "2016-03-22 15:00:00.500    0.0   0    0   多换  B  2213.0  2214.0  311   64  \n",
       "2016-03-22 15:21:46.000    0.0   0    0   多换  B  2213.0  2214.0  311   64  "
      ]
     },
     "execution_count": 533,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "MergeData.tail(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 534,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>大富翁数据中心_市场代码</th>\n",
       "      <th>合约代码</th>\n",
       "      <th>最新</th>\n",
       "      <th>持仓</th>\n",
       "      <th>增仓</th>\n",
       "      <th>成交额</th>\n",
       "      <th>成交量</th>\n",
       "      <th>开仓</th>\n",
       "      <th>平仓</th>\n",
       "      <th>成交类型</th>\n",
       "      <th>方向</th>\n",
       "      <th>买一价</th>\n",
       "      <th>卖一价</th>\n",
       "      <th>买一量</th>\n",
       "      <th>卖一量</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>时间</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-03-04 20:02:37.500</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>1987.0</td>\n",
       "      <td>1843186</td>\n",
       "      <td>1843186</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>921593</td>\n",
       "      <td>-921593</td>\n",
       "      <td>空开</td>\n",
       "      <td>S</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 20:59:00.500</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>1990.0</td>\n",
       "      <td>1843662</td>\n",
       "      <td>476</td>\n",
       "      <td>23243200.0</td>\n",
       "      <td>1168.0</td>\n",
       "      <td>822</td>\n",
       "      <td>346</td>\n",
       "      <td>多开</td>\n",
       "      <td>B</td>\n",
       "      <td>1989.0</td>\n",
       "      <td>1990.0</td>\n",
       "      <td>4</td>\n",
       "      <td>33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 21:00:00.500</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>1990.0</td>\n",
       "      <td>1843908</td>\n",
       "      <td>246</td>\n",
       "      <td>16239260.0</td>\n",
       "      <td>816.0</td>\n",
       "      <td>531</td>\n",
       "      <td>285</td>\n",
       "      <td>多开</td>\n",
       "      <td>B</td>\n",
       "      <td>1990.0</td>\n",
       "      <td>1991.0</td>\n",
       "      <td>26</td>\n",
       "      <td>146</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                        大富翁数据中心_市场代码    合约代码      最新       持仓       增仓  \\\n",
       "时间                                                                       \n",
       "2016-03-04 20:02:37.500           sc  rb1605  1987.0  1843186  1843186   \n",
       "2016-03-04 20:59:00.500           sc  rb1605  1990.0  1843662      476   \n",
       "2016-03-04 21:00:00.500           sc  rb1605  1990.0  1843908      246   \n",
       "\n",
       "                                成交额     成交量      开仓      平仓 成交类型 方向     买一价  \\\n",
       "时间                                                                            \n",
       "2016-03-04 20:02:37.500         0.0     0.0  921593 -921593   空开  S     0.0   \n",
       "2016-03-04 20:59:00.500  23243200.0  1168.0     822     346   多开  B  1989.0   \n",
       "2016-03-04 21:00:00.500  16239260.0   816.0     531     285   多开  B  1990.0   \n",
       "\n",
       "                            卖一价  买一量  卖一量  \n",
       "时间                                         \n",
       "2016-03-04 20:02:37.500     0.0    0    0  \n",
       "2016-03-04 20:59:00.500  1990.0    4   33  \n",
       "2016-03-04 21:00:00.500  1991.0   26  146  "
      ]
     },
     "execution_count": 534,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "MergeData.head(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 535,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['2016-03-04 20:02:37.500', '2016-03-04 20:59:00.500',\n",
       "       '2016-03-04 21:00:00.500', '2016-03-04 21:00:01.000',\n",
       "       '2016-03-04 21:00:01.500', '2016-03-04 21:00:02.000',\n",
       "       '2016-03-04 21:00:02.500', '2016-03-04 21:00:03.000',\n",
       "       '2016-03-04 21:00:03.500', '2016-03-04 21:00:04.000',\n",
       "       ...\n",
       "       '2016-03-22 14:59:56.500', '2016-03-22 14:59:57.000',\n",
       "       '2016-03-22 14:59:57.500', '2016-03-22 14:59:58.000',\n",
       "       '2016-03-22 14:59:58.500', '2016-03-22 14:59:59.000',\n",
       "       '2016-03-22 14:59:59.500', '2016-03-22 15:00:00.000',\n",
       "       '2016-03-22 15:00:00.500', '2016-03-22 15:21:46.000'],\n",
       "      dtype='object', name='时间', length=621958)"
      ]
     },
     "execution_count": 535,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "MergeData.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 536,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "MergeData.index = pd.to_datetime(MergeData.index)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 537,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatetimeIndex(['2016-03-04 20:02:37.500000', '2016-03-04 20:59:00.500000',\n",
       "               '2016-03-04 21:00:00.500000',        '2016-03-04 21:00:01',\n",
       "               '2016-03-04 21:00:01.500000',        '2016-03-04 21:00:02',\n",
       "               '2016-03-04 21:00:02.500000',        '2016-03-04 21:00:03',\n",
       "               '2016-03-04 21:00:03.500000',        '2016-03-04 21:00:04',\n",
       "               ...\n",
       "               '2016-03-22 14:59:56.500000',        '2016-03-22 14:59:57',\n",
       "               '2016-03-22 14:59:57.500000',        '2016-03-22 14:59:58',\n",
       "               '2016-03-22 14:59:58.500000',        '2016-03-22 14:59:59',\n",
       "               '2016-03-22 14:59:59.500000',        '2016-03-22 15:00:00',\n",
       "               '2016-03-22 15:00:00.500000',        '2016-03-22 15:21:46'],\n",
       "              dtype='datetime64[ns]', name='时间', length=621958, freq=None)"
      ]
     },
     "execution_count": 537,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "MergeData.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 538,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Int64Index([2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,\n",
       "            ...\n",
       "            2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016],\n",
       "           dtype='int64', name='时间', length=621958)"
      ]
     },
     "execution_count": 538,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "MergeData.index.year"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 539,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Int64Index([3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n",
       "            ...\n",
       "            3, 3, 3, 3, 3, 3, 3, 3, 3, 3],\n",
       "           dtype='int64', name='时间', length=621958)"
      ]
     },
     "execution_count": 539,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "MergeData.index.month"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 540,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "9     55751\n",
       "10    55657\n",
       "18    55382\n",
       "11    54912\n",
       "17    54744\n",
       "15    53469\n",
       "16    52161\n",
       "21    48009\n",
       "14    47934\n",
       "8     44804\n",
       "22    31859\n",
       "7     26925\n",
       "4     21559\n",
       "19     7136\n",
       "12     7058\n",
       "5      4598\n",
       "Name: 时间, dtype: int64"
      ]
     },
     "execution_count": 540,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "MergeData.index.day.value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 541,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "x = MergeData.index.day.value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 542,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "pandas.core.series.Series"
      ]
     },
     "execution_count": 542,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 543,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "16"
      ]
     },
     "execution_count": 543,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 544,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>大富翁数据中心_市场代码</th>\n",
       "      <th>合约代码</th>\n",
       "      <th>最新</th>\n",
       "      <th>持仓</th>\n",
       "      <th>增仓</th>\n",
       "      <th>成交额</th>\n",
       "      <th>成交量</th>\n",
       "      <th>开仓</th>\n",
       "      <th>平仓</th>\n",
       "      <th>成交类型</th>\n",
       "      <th>方向</th>\n",
       "      <th>买一价</th>\n",
       "      <th>卖一价</th>\n",
       "      <th>买一量</th>\n",
       "      <th>卖一量</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>时间</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-03-12 00:00:00.000</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>2101.0</td>\n",
       "      <td>1368260</td>\n",
       "      <td>24</td>\n",
       "      <td>3278560.0</td>\n",
       "      <td>156.0</td>\n",
       "      <td>90</td>\n",
       "      <td>66</td>\n",
       "      <td>多开</td>\n",
       "      <td>B</td>\n",
       "      <td>2101.0</td>\n",
       "      <td>2102.0</td>\n",
       "      <td>543</td>\n",
       "      <td>985</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-12 00:00:00.500</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>2102.0</td>\n",
       "      <td>1368198</td>\n",
       "      <td>-62</td>\n",
       "      <td>6179500.0</td>\n",
       "      <td>294.0</td>\n",
       "      <td>116</td>\n",
       "      <td>178</td>\n",
       "      <td>空平</td>\n",
       "      <td>B</td>\n",
       "      <td>2101.0</td>\n",
       "      <td>2102.0</td>\n",
       "      <td>532</td>\n",
       "      <td>856</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-12 00:00:01.000</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>2102.0</td>\n",
       "      <td>1367944</td>\n",
       "      <td>-254</td>\n",
       "      <td>9332140.0</td>\n",
       "      <td>444.0</td>\n",
       "      <td>95</td>\n",
       "      <td>349</td>\n",
       "      <td>空平</td>\n",
       "      <td>B</td>\n",
       "      <td>2101.0</td>\n",
       "      <td>2102.0</td>\n",
       "      <td>520</td>\n",
       "      <td>689</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-12 00:00:01.500</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>2102.0</td>\n",
       "      <td>1367886</td>\n",
       "      <td>-58</td>\n",
       "      <td>3530680.0</td>\n",
       "      <td>168.0</td>\n",
       "      <td>55</td>\n",
       "      <td>113</td>\n",
       "      <td>空平</td>\n",
       "      <td>B</td>\n",
       "      <td>2101.0</td>\n",
       "      <td>2102.0</td>\n",
       "      <td>527</td>\n",
       "      <td>640</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-12 00:00:02.000</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>2102.0</td>\n",
       "      <td>1367868</td>\n",
       "      <td>-18</td>\n",
       "      <td>3614560.0</td>\n",
       "      <td>172.0</td>\n",
       "      <td>77</td>\n",
       "      <td>95</td>\n",
       "      <td>空平</td>\n",
       "      <td>B</td>\n",
       "      <td>2101.0</td>\n",
       "      <td>2102.0</td>\n",
       "      <td>486</td>\n",
       "      <td>600</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                        大富翁数据中心_市场代码    合约代码      最新       持仓   增仓        成交额  \\\n",
       "时间                                                                              \n",
       "2016-03-12 00:00:00.000           sc  rb1605  2101.0  1368260   24  3278560.0   \n",
       "2016-03-12 00:00:00.500           sc  rb1605  2102.0  1368198  -62  6179500.0   \n",
       "2016-03-12 00:00:01.000           sc  rb1605  2102.0  1367944 -254  9332140.0   \n",
       "2016-03-12 00:00:01.500           sc  rb1605  2102.0  1367886  -58  3530680.0   \n",
       "2016-03-12 00:00:02.000           sc  rb1605  2102.0  1367868  -18  3614560.0   \n",
       "\n",
       "                           成交量   开仓   平仓 成交类型 方向     买一价     卖一价  买一量  卖一量  \n",
       "时间                                                                          \n",
       "2016-03-12 00:00:00.000  156.0   90   66   多开  B  2101.0  2102.0  543  985  \n",
       "2016-03-12 00:00:00.500  294.0  116  178   空平  B  2101.0  2102.0  532  856  \n",
       "2016-03-12 00:00:01.000  444.0   95  349   空平  B  2101.0  2102.0  520  689  \n",
       "2016-03-12 00:00:01.500  168.0   55  113   空平  B  2101.0  2102.0  527  640  \n",
       "2016-03-12 00:00:02.000  172.0   77   95   空平  B  2101.0  2102.0  486  600  "
      ]
     },
     "execution_count": 544,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "MergeData[MergeData.index.day == 12][:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 数据清洗"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 生成标准参考时间序列数据series（500ms频率）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 545,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "businessday = pd.date_range(\"2016-03-04\", \"2016-03-22\", freq = \"B\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 546,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatetimeIndex(['2016-03-04', '2016-03-07', '2016-03-08', '2016-03-09',\n",
       "               '2016-03-10', '2016-03-11', '2016-03-14', '2016-03-15',\n",
       "               '2016-03-16', '2016-03-17', '2016-03-18', '2016-03-21',\n",
       "               '2016-03-22'],\n",
       "              dtype='datetime64[ns]', freq='B')"
      ]
     },
     "execution_count": 546,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "businessday"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 生成螺纹钢09:00:00~10:15:00, 10:30:00~11:30:00, 13:30:00~15:00:00, 21:00:00~23:00:00， 共四个时间段，4H45Min的交易频段的标准时间序列数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 547,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "x = []\n",
    "for i in [\"04\", \"07\", \"08\", \"09\", \"10\", \"11\", \"14\", \"15\", \"16\", \"17\", \"18\", \"21\", \"22\"]:\n",
    "    s09_00 = \"2016-03-%s 09:00:00\" %i\n",
    "    s10_15 = \"2016-03-%s 10:15:00\" %i\n",
    "    s10_30 = \"2016-03-%s 10:30:00\" %i\n",
    "    s11_30 = \"2016-03-%s 11:30:00\" %i\n",
    "    s13_30 = \"2016-03-%s 13:30:00\" %i\n",
    "    s15_00 = \"2016-03-%s 15:00:00\" %i\n",
    "    s21_00 = \"2016-03-%s 21:00:00\" %i\n",
    "    s23_00 = \"2016-03-%s 23:00:00\" %i\n",
    "    x.append((s09_00, s10_15, s10_30, s11_30, s13_30, s15_00, s21_00, s23_00))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 548,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "flag = 1\n",
    "for i, j, p, q, m, n, a, b in x:\n",
    "    if flag == 1:\n",
    "        index1 = pd.date_range(i, j, freq = \"500ms\")\n",
    "        index2 = pd.date_range(p, q, freq = \"500ms\")\n",
    "        index3 = pd.date_range(m, n, freq = \"500ms\")\n",
    "        index4 = pd.date_range(a, b, freq = \"500ms\")\n",
    "        series1 = pd.Series(0.0, index = index1)\n",
    "        series2 = pd.Series(0.0, index = index2)\n",
    "        series3 = pd.Series(0.0, index = index3)\n",
    "        series4 = pd.Series(0.0, index = index4)\n",
    "        series = pd.concat([series1, series2, series3, series4], axis = 0)\n",
    "        flag = 2\n",
    "    else:\n",
    "        index1 = pd.date_range(i, j, freq = \"500ms\")\n",
    "        index2 = pd.date_range(p, q, freq = \"500ms\")\n",
    "        index3 = pd.date_range(m, n, freq = \"500ms\")\n",
    "        index4 = pd.date_range(a, b, freq = \"500ms\")\n",
    "        series1 = pd.Series(0.0, index = index1)\n",
    "        series2 = pd.Series(0.0, index = index2)\n",
    "        series3 = pd.Series(0.0, index = index3)\n",
    "        series4 = pd.Series(0.0, index = index4)\n",
    "        series_temporary = pd.concat([series1, series2, series3, series4], axis = 0)\n",
    "        series = pd.concat([series, series_temporary], axis = 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 549,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "22    41404\n",
       "21    41404\n",
       "18    41404\n",
       "17    41404\n",
       "16    41404\n",
       "15    41404\n",
       "14    41404\n",
       "11    41404\n",
       "10    41404\n",
       "9     41404\n",
       "8     41404\n",
       "7     41404\n",
       "4     41404\n",
       "dtype: int64"
      ]
     },
     "execution_count": 549,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "series.index.day.value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 550,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "538252"
      ]
     },
     "execution_count": 550,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(series)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 551,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "621958"
      ]
     },
     "execution_count": 551,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(MergeData)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 552,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2016-03-04 09:00:00.000    0.0\n",
       "2016-03-04 09:00:00.500    0.0\n",
       "2016-03-04 09:00:01.000    0.0\n",
       "2016-03-04 09:00:01.500    0.0\n",
       "2016-03-04 09:00:02.000    0.0\n",
       "dtype: float64"
      ]
     },
     "execution_count": 552,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "series[:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 将series转化为DataFrame"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 553,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "series_dataframe = pd.DataFrame(series, )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 554,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-03-04 09:00:00.000</th>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 09:00:00.500</th>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 09:00:01.000</th>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 09:00:01.500</th>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 09:00:02.000</th>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                           0\n",
       "2016-03-04 09:00:00.000  0.0\n",
       "2016-03-04 09:00:00.500  0.0\n",
       "2016-03-04 09:00:01.000  0.0\n",
       "2016-03-04 09:00:01.500  0.0\n",
       "2016-03-04 09:00:02.000  0.0"
      ]
     },
     "execution_count": 554,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "series_dataframe[:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 将MergeData与标准时间序列相匹配（Match）"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 555,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatetimeIndex(['2016-03-04 20:02:37.500000', '2016-03-04 20:59:00.500000',\n",
       "               '2016-03-04 21:00:00.500000',        '2016-03-04 21:00:01',\n",
       "               '2016-03-04 21:00:01.500000',        '2016-03-04 21:00:02',\n",
       "               '2016-03-04 21:00:02.500000',        '2016-03-04 21:00:03',\n",
       "               '2016-03-04 21:00:03.500000',        '2016-03-04 21:00:04',\n",
       "               ...\n",
       "               '2016-03-22 14:59:56.500000',        '2016-03-22 14:59:57',\n",
       "               '2016-03-22 14:59:57.500000',        '2016-03-22 14:59:58',\n",
       "               '2016-03-22 14:59:58.500000',        '2016-03-22 14:59:59',\n",
       "               '2016-03-22 14:59:59.500000',        '2016-03-22 15:00:00',\n",
       "               '2016-03-22 15:00:00.500000',        '2016-03-22 15:21:46'],\n",
       "              dtype='datetime64[ns]', name='时间', length=621958, freq=None)"
      ]
     },
     "execution_count": 555,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "MergeData.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 556,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatetimeIndex([       '2016-03-04 09:00:00', '2016-03-04 09:00:00.500000',\n",
       "                      '2016-03-04 09:00:01', '2016-03-04 09:00:01.500000',\n",
       "                      '2016-03-04 09:00:02', '2016-03-04 09:00:02.500000',\n",
       "                      '2016-03-04 09:00:03', '2016-03-04 09:00:03.500000',\n",
       "                      '2016-03-04 09:00:04', '2016-03-04 09:00:04.500000',\n",
       "               ...\n",
       "               '2016-03-22 22:59:55.500000',        '2016-03-22 22:59:56',\n",
       "               '2016-03-22 22:59:56.500000',        '2016-03-22 22:59:57',\n",
       "               '2016-03-22 22:59:57.500000',        '2016-03-22 22:59:58',\n",
       "               '2016-03-22 22:59:58.500000',        '2016-03-22 22:59:59',\n",
       "               '2016-03-22 22:59:59.500000',        '2016-03-22 23:00:00'],\n",
       "              dtype='datetime64[ns]', length=538252, freq=None)"
      ]
     },
     "execution_count": 556,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "series_dataframe.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 557,
   "metadata": {
    "collapsed": true,
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "standard_merge = pd.concat([series_dataframe, MergeData], axis = 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 558,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "standard_merge = standard_merge.iloc[:, 1:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 559,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>大富翁数据中心_市场代码</th>\n",
       "      <th>合约代码</th>\n",
       "      <th>最新</th>\n",
       "      <th>持仓</th>\n",
       "      <th>增仓</th>\n",
       "      <th>成交额</th>\n",
       "      <th>成交量</th>\n",
       "      <th>开仓</th>\n",
       "      <th>平仓</th>\n",
       "      <th>成交类型</th>\n",
       "      <th>方向</th>\n",
       "      <th>买一价</th>\n",
       "      <th>卖一价</th>\n",
       "      <th>买一量</th>\n",
       "      <th>卖一量</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-03-04 09:00:00.000</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 09:00:00.500</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 09:00:01.000</th>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                        大富翁数据中心_市场代码 合约代码  最新  持仓  增仓  成交额  成交量  开仓  平仓 成交类型  \\\n",
       "2016-03-04 09:00:00.000          NaN  NaN NaN NaN NaN  NaN  NaN NaN NaN  NaN   \n",
       "2016-03-04 09:00:00.500          NaN  NaN NaN NaN NaN  NaN  NaN NaN NaN  NaN   \n",
       "2016-03-04 09:00:01.000          NaN  NaN NaN NaN NaN  NaN  NaN NaN NaN  NaN   \n",
       "\n",
       "                          方向  买一价  卖一价  买一量  卖一量  \n",
       "2016-03-04 09:00:00.000  NaN  NaN  NaN  NaN  NaN  \n",
       "2016-03-04 09:00:00.500  NaN  NaN  NaN  NaN  NaN  \n",
       "2016-03-04 09:00:01.000  NaN  NaN  NaN  NaN  NaN  "
      ]
     },
     "execution_count": 559,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "standard_merge.head(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 560,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>大富翁数据中心_市场代码</th>\n",
       "      <th>合约代码</th>\n",
       "      <th>最新</th>\n",
       "      <th>持仓</th>\n",
       "      <th>增仓</th>\n",
       "      <th>成交额</th>\n",
       "      <th>成交量</th>\n",
       "      <th>开仓</th>\n",
       "      <th>平仓</th>\n",
       "      <th>成交类型</th>\n",
       "      <th>方向</th>\n",
       "      <th>买一价</th>\n",
       "      <th>卖一价</th>\n",
       "      <th>买一量</th>\n",
       "      <th>卖一量</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-03-22 15:00:00.000</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>2214.0</td>\n",
       "      <td>995244.0</td>\n",
       "      <td>-38.0</td>\n",
       "      <td>4914960.0</td>\n",
       "      <td>222.0</td>\n",
       "      <td>92.0</td>\n",
       "      <td>130.0</td>\n",
       "      <td>空平</td>\n",
       "      <td>B</td>\n",
       "      <td>2213.0</td>\n",
       "      <td>2214.0</td>\n",
       "      <td>311.0</td>\n",
       "      <td>64.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-22 15:00:00.500</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>2214.0</td>\n",
       "      <td>995244.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>多换</td>\n",
       "      <td>B</td>\n",
       "      <td>2213.0</td>\n",
       "      <td>2214.0</td>\n",
       "      <td>311.0</td>\n",
       "      <td>64.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-22 15:21:46.000</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>2214.0</td>\n",
       "      <td>995244.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>多换</td>\n",
       "      <td>B</td>\n",
       "      <td>2213.0</td>\n",
       "      <td>2214.0</td>\n",
       "      <td>311.0</td>\n",
       "      <td>64.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                        大富翁数据中心_市场代码    合约代码      最新        持仓    增仓  \\\n",
       "2016-03-22 15:00:00.000           sc  rb1605  2214.0  995244.0 -38.0   \n",
       "2016-03-22 15:00:00.500           sc  rb1605  2214.0  995244.0   0.0   \n",
       "2016-03-22 15:21:46.000           sc  rb1605  2214.0  995244.0   0.0   \n",
       "\n",
       "                               成交额    成交量    开仓     平仓 成交类型 方向     买一价  \\\n",
       "2016-03-22 15:00:00.000  4914960.0  222.0  92.0  130.0   空平  B  2213.0   \n",
       "2016-03-22 15:00:00.500        0.0    0.0   0.0    0.0   多换  B  2213.0   \n",
       "2016-03-22 15:21:46.000        0.0    0.0   0.0    0.0   多换  B  2213.0   \n",
       "\n",
       "                            卖一价    买一量   卖一量  \n",
       "2016-03-22 15:00:00.000  2214.0  311.0  64.0  \n",
       "2016-03-22 15:00:00.500  2214.0  311.0  64.0  \n",
       "2016-03-22 15:21:46.000  2214.0  311.0  64.0  "
      ]
     },
     "execution_count": 560,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "standard_merge.tail(3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 将无交易量的零值替换为NaN值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 561,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "standard_merge.replace(0, np.nan, inplace = True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 将NaN值删除，得到最终需要的以“500ms”为频率的经过清洗后的高频交易数据\n",
    "### standard_mergedata"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 562,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "standard_mergedata = standard_merge.dropna(axis = 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 563,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>大富翁数据中心_市场代码</th>\n",
       "      <th>合约代码</th>\n",
       "      <th>最新</th>\n",
       "      <th>持仓</th>\n",
       "      <th>增仓</th>\n",
       "      <th>成交额</th>\n",
       "      <th>成交量</th>\n",
       "      <th>开仓</th>\n",
       "      <th>平仓</th>\n",
       "      <th>成交类型</th>\n",
       "      <th>方向</th>\n",
       "      <th>买一价</th>\n",
       "      <th>卖一价</th>\n",
       "      <th>买一量</th>\n",
       "      <th>卖一量</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-03-04 20:59:00.500</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>1990.0</td>\n",
       "      <td>1843662.0</td>\n",
       "      <td>476.0</td>\n",
       "      <td>23243200.0</td>\n",
       "      <td>1168.0</td>\n",
       "      <td>822.0</td>\n",
       "      <td>346.0</td>\n",
       "      <td>多开</td>\n",
       "      <td>B</td>\n",
       "      <td>1989.0</td>\n",
       "      <td>1990.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>33.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 21:00:00.500</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>1990.0</td>\n",
       "      <td>1843908.0</td>\n",
       "      <td>246.0</td>\n",
       "      <td>16239260.0</td>\n",
       "      <td>816.0</td>\n",
       "      <td>531.0</td>\n",
       "      <td>285.0</td>\n",
       "      <td>多开</td>\n",
       "      <td>B</td>\n",
       "      <td>1990.0</td>\n",
       "      <td>1991.0</td>\n",
       "      <td>26.0</td>\n",
       "      <td>146.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 21:00:01.000</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>1989.0</td>\n",
       "      <td>1843678.0</td>\n",
       "      <td>-230.0</td>\n",
       "      <td>11820620.0</td>\n",
       "      <td>594.0</td>\n",
       "      <td>182.0</td>\n",
       "      <td>412.0</td>\n",
       "      <td>多平</td>\n",
       "      <td>S</td>\n",
       "      <td>1989.0</td>\n",
       "      <td>1990.0</td>\n",
       "      <td>175.0</td>\n",
       "      <td>348.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                        大富翁数据中心_市场代码    合约代码      最新         持仓     增仓  \\\n",
       "2016-03-04 20:59:00.500           sc  rb1605  1990.0  1843662.0  476.0   \n",
       "2016-03-04 21:00:00.500           sc  rb1605  1990.0  1843908.0  246.0   \n",
       "2016-03-04 21:00:01.000           sc  rb1605  1989.0  1843678.0 -230.0   \n",
       "\n",
       "                                成交额     成交量     开仓     平仓 成交类型 方向     买一价  \\\n",
       "2016-03-04 20:59:00.500  23243200.0  1168.0  822.0  346.0   多开  B  1989.0   \n",
       "2016-03-04 21:00:00.500  16239260.0   816.0  531.0  285.0   多开  B  1990.0   \n",
       "2016-03-04 21:00:01.000  11820620.0   594.0  182.0  412.0   多平  S  1989.0   \n",
       "\n",
       "                            卖一价    买一量    卖一量  \n",
       "2016-03-04 20:59:00.500  1990.0    4.0   33.0  \n",
       "2016-03-04 21:00:00.500  1991.0   26.0  146.0  \n",
       "2016-03-04 21:00:01.000  1990.0  175.0  348.0  "
      ]
     },
     "execution_count": 563,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "standard_mergedata.head(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 564,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>大富翁数据中心_市场代码</th>\n",
       "      <th>合约代码</th>\n",
       "      <th>最新</th>\n",
       "      <th>持仓</th>\n",
       "      <th>增仓</th>\n",
       "      <th>成交额</th>\n",
       "      <th>成交量</th>\n",
       "      <th>开仓</th>\n",
       "      <th>平仓</th>\n",
       "      <th>成交类型</th>\n",
       "      <th>方向</th>\n",
       "      <th>买一价</th>\n",
       "      <th>卖一价</th>\n",
       "      <th>买一量</th>\n",
       "      <th>卖一量</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-03-22 14:59:57.500</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>2214.0</td>\n",
       "      <td>995282.0</td>\n",
       "      <td>-6.0</td>\n",
       "      <td>2434380.0</td>\n",
       "      <td>110.0</td>\n",
       "      <td>52.0</td>\n",
       "      <td>58.0</td>\n",
       "      <td>空平</td>\n",
       "      <td>B</td>\n",
       "      <td>2213.0</td>\n",
       "      <td>2214.0</td>\n",
       "      <td>322.0</td>\n",
       "      <td>169.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-22 14:59:58.000</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>2214.0</td>\n",
       "      <td>995280.0</td>\n",
       "      <td>-2.0</td>\n",
       "      <td>1372160.0</td>\n",
       "      <td>62.0</td>\n",
       "      <td>30.0</td>\n",
       "      <td>32.0</td>\n",
       "      <td>空平</td>\n",
       "      <td>B</td>\n",
       "      <td>2213.0</td>\n",
       "      <td>2214.0</td>\n",
       "      <td>296.0</td>\n",
       "      <td>164.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-22 15:00:00.000</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>2214.0</td>\n",
       "      <td>995244.0</td>\n",
       "      <td>-38.0</td>\n",
       "      <td>4914960.0</td>\n",
       "      <td>222.0</td>\n",
       "      <td>92.0</td>\n",
       "      <td>130.0</td>\n",
       "      <td>空平</td>\n",
       "      <td>B</td>\n",
       "      <td>2213.0</td>\n",
       "      <td>2214.0</td>\n",
       "      <td>311.0</td>\n",
       "      <td>64.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                        大富翁数据中心_市场代码    合约代码      最新        持仓    增仓  \\\n",
       "2016-03-22 14:59:57.500           sc  rb1605  2214.0  995282.0  -6.0   \n",
       "2016-03-22 14:59:58.000           sc  rb1605  2214.0  995280.0  -2.0   \n",
       "2016-03-22 15:00:00.000           sc  rb1605  2214.0  995244.0 -38.0   \n",
       "\n",
       "                               成交额    成交量    开仓     平仓 成交类型 方向     买一价  \\\n",
       "2016-03-22 14:59:57.500  2434380.0  110.0  52.0   58.0   空平  B  2213.0   \n",
       "2016-03-22 14:59:58.000  1372160.0   62.0  30.0   32.0   空平  B  2213.0   \n",
       "2016-03-22 15:00:00.000  4914960.0  222.0  92.0  130.0   空平  B  2213.0   \n",
       "\n",
       "                            卖一价    买一量    卖一量  \n",
       "2016-03-22 14:59:57.500  2214.0  322.0  169.0  \n",
       "2016-03-22 14:59:58.000  2214.0  296.0  164.0  \n",
       "2016-03-22 15:00:00.000  2214.0  311.0   64.0  "
      ]
     },
     "execution_count": 564,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "standard_mergedata.tail(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 565,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(296380, 15)"
      ]
     },
     "execution_count": 565,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "standard_mergedata.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 以该数据，standard_mergedata, 为例，对螺纹钢三月份交易数据进行双均线系统策略分析"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 提取交易量和交易价格，并给时间序列数据重新取样为“1Min”"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 566,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "rb_data1 = standard_mergedata[[\"成交量\", \"成交额\"]].resample(\"1min\").sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 567,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>成交量</th>\n",
       "      <th>成交额</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-03-04 20:59:00</th>\n",
       "      <td>1168.0</td>\n",
       "      <td>23243200.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 21:00:00</th>\n",
       "      <td>28668.0</td>\n",
       "      <td>571134760.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 21:01:00</th>\n",
       "      <td>20000.0</td>\n",
       "      <td>398867440.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         成交量          成交额\n",
       "2016-03-04 20:59:00   1168.0   23243200.0\n",
       "2016-03-04 21:00:00  28668.0  571134760.0\n",
       "2016-03-04 21:01:00  20000.0  398867440.0"
      ]
     },
     "execution_count": 567,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rb_data1[:3]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 568,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "rb_data1 = pd.DataFrame(rb_data1, )"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 569,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>成交量</th>\n",
       "      <th>成交额</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-03-04 20:59:00</th>\n",
       "      <td>1168.0</td>\n",
       "      <td>23243200.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 21:00:00</th>\n",
       "      <td>28668.0</td>\n",
       "      <td>571134760.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 21:01:00</th>\n",
       "      <td>20000.0</td>\n",
       "      <td>398867440.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         成交量          成交额\n",
       "2016-03-04 20:59:00   1168.0   23243200.0\n",
       "2016-03-04 21:00:00  28668.0  571134760.0\n",
       "2016-03-04 21:01:00  20000.0  398867440.0"
      ]
     },
     "execution_count": 569,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rb_data1.head(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 570,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>大富翁数据中心_市场代码</th>\n",
       "      <th>合约代码</th>\n",
       "      <th>最新</th>\n",
       "      <th>持仓</th>\n",
       "      <th>增仓</th>\n",
       "      <th>成交额</th>\n",
       "      <th>成交量</th>\n",
       "      <th>开仓</th>\n",
       "      <th>平仓</th>\n",
       "      <th>成交类型</th>\n",
       "      <th>方向</th>\n",
       "      <th>买一价</th>\n",
       "      <th>卖一价</th>\n",
       "      <th>买一量</th>\n",
       "      <th>卖一量</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-03-04 20:59:00.500</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>1990.0</td>\n",
       "      <td>1843662.0</td>\n",
       "      <td>476.0</td>\n",
       "      <td>23243200.0</td>\n",
       "      <td>1168.0</td>\n",
       "      <td>822.0</td>\n",
       "      <td>346.0</td>\n",
       "      <td>多开</td>\n",
       "      <td>B</td>\n",
       "      <td>1989.0</td>\n",
       "      <td>1990.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>33.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 21:00:00.500</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>1990.0</td>\n",
       "      <td>1843908.0</td>\n",
       "      <td>246.0</td>\n",
       "      <td>16239260.0</td>\n",
       "      <td>816.0</td>\n",
       "      <td>531.0</td>\n",
       "      <td>285.0</td>\n",
       "      <td>多开</td>\n",
       "      <td>B</td>\n",
       "      <td>1990.0</td>\n",
       "      <td>1991.0</td>\n",
       "      <td>26.0</td>\n",
       "      <td>146.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 21:00:01.000</th>\n",
       "      <td>sc</td>\n",
       "      <td>rb1605</td>\n",
       "      <td>1989.0</td>\n",
       "      <td>1843678.0</td>\n",
       "      <td>-230.0</td>\n",
       "      <td>11820620.0</td>\n",
       "      <td>594.0</td>\n",
       "      <td>182.0</td>\n",
       "      <td>412.0</td>\n",
       "      <td>多平</td>\n",
       "      <td>S</td>\n",
       "      <td>1989.0</td>\n",
       "      <td>1990.0</td>\n",
       "      <td>175.0</td>\n",
       "      <td>348.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                        大富翁数据中心_市场代码    合约代码      最新         持仓     增仓  \\\n",
       "2016-03-04 20:59:00.500           sc  rb1605  1990.0  1843662.0  476.0   \n",
       "2016-03-04 21:00:00.500           sc  rb1605  1990.0  1843908.0  246.0   \n",
       "2016-03-04 21:00:01.000           sc  rb1605  1989.0  1843678.0 -230.0   \n",
       "\n",
       "                                成交额     成交量     开仓     平仓 成交类型 方向     买一价  \\\n",
       "2016-03-04 20:59:00.500  23243200.0  1168.0  822.0  346.0   多开  B  1989.0   \n",
       "2016-03-04 21:00:00.500  16239260.0   816.0  531.0  285.0   多开  B  1990.0   \n",
       "2016-03-04 21:00:01.000  11820620.0   594.0  182.0  412.0   多平  S  1989.0   \n",
       "\n",
       "                            卖一价    买一量    卖一量  \n",
       "2016-03-04 20:59:00.500  1990.0    4.0   33.0  \n",
       "2016-03-04 21:00:00.500  1991.0   26.0  146.0  \n",
       "2016-03-04 21:00:01.000  1990.0  175.0  348.0  "
      ]
     },
     "execution_count": 570,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "standard_mergedata.head(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 571,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "rb_data2 = standard_mergedata[\"最新\"].resample(\"1min\").mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 572,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "rb_data2 = pd.DataFrame(rb_data2, )"
   ]
  },
  {
   "cell_type": "raw",
   "metadata": {},
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 573,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>最新</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-03-04 20:59:00</th>\n",
       "      <td>1990.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 21:00:00</th>\n",
       "      <td>1992.681818</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 21:01:00</th>\n",
       "      <td>1993.933962</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                              最新\n",
       "2016-03-04 20:59:00  1990.000000\n",
       "2016-03-04 21:00:00  1992.681818\n",
       "2016-03-04 21:01:00  1993.933962"
      ]
     },
     "execution_count": 573,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rb_data2.head(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 574,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>最新</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-03-22 14:58:00</th>\n",
       "      <td>2212.470588</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-22 14:59:00</th>\n",
       "      <td>2213.120000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-22 15:00:00</th>\n",
       "      <td>2214.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                              最新\n",
       "2016-03-22 14:58:00  2212.470588\n",
       "2016-03-22 14:59:00  2213.120000\n",
       "2016-03-22 15:00:00  2214.000000"
      ]
     },
     "execution_count": 574,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rb_data2.tail(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 575,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>成交量</th>\n",
       "      <th>成交额</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-03-04 20:59:00</th>\n",
       "      <td>1168.0</td>\n",
       "      <td>23243200.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 21:00:00</th>\n",
       "      <td>28668.0</td>\n",
       "      <td>571134760.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 21:01:00</th>\n",
       "      <td>20000.0</td>\n",
       "      <td>398867440.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         成交量          成交额\n",
       "2016-03-04 20:59:00   1168.0   23243200.0\n",
       "2016-03-04 21:00:00  28668.0  571134760.0\n",
       "2016-03-04 21:01:00  20000.0  398867440.0"
      ]
     },
     "execution_count": 575,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rb_data1.head(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 576,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>成交量</th>\n",
       "      <th>成交额</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-03-22 14:58:00</th>\n",
       "      <td>4786.0</td>\n",
       "      <td>105893620.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-22 14:59:00</th>\n",
       "      <td>6614.0</td>\n",
       "      <td>146379680.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-22 15:00:00</th>\n",
       "      <td>222.0</td>\n",
       "      <td>4914960.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                        成交量          成交额\n",
       "2016-03-22 14:58:00  4786.0  105893620.0\n",
       "2016-03-22 14:59:00  6614.0  146379680.0\n",
       "2016-03-22 15:00:00   222.0    4914960.0"
      ]
     },
     "execution_count": 576,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rb_data1.tail(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 577,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "pd.merge?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 578,
   "metadata": {
    "collapsed": true,
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "rb_data = pd.merge(rb_data2, rb_data1, left_index = True, right_index = True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 579,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>最新</th>\n",
       "      <th>成交量</th>\n",
       "      <th>成交额</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-03-04 20:59:00</th>\n",
       "      <td>1990.000000</td>\n",
       "      <td>1168.0</td>\n",
       "      <td>23243200.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 21:00:00</th>\n",
       "      <td>1992.681818</td>\n",
       "      <td>28668.0</td>\n",
       "      <td>571134760.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 21:01:00</th>\n",
       "      <td>1993.933962</td>\n",
       "      <td>20000.0</td>\n",
       "      <td>398867440.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 21:02:00</th>\n",
       "      <td>1994.533333</td>\n",
       "      <td>22292.0</td>\n",
       "      <td>444636460.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 21:03:00</th>\n",
       "      <td>1992.674419</td>\n",
       "      <td>13958.0</td>\n",
       "      <td>278116480.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                              最新      成交量          成交额\n",
       "2016-03-04 20:59:00  1990.000000   1168.0   23243200.0\n",
       "2016-03-04 21:00:00  1992.681818  28668.0  571134760.0\n",
       "2016-03-04 21:01:00  1993.933962  20000.0  398867440.0\n",
       "2016-03-04 21:02:00  1994.533333  22292.0  444636460.0\n",
       "2016-03-04 21:03:00  1992.674419  13958.0  278116480.0"
      ]
     },
     "execution_count": 579,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rb_data[:5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 580,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "rb_data = rb_data.dropna()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 先画出螺纹钢价格时序图，对其整体波动情况有个了解"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 581,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "price = rb_data.最新"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 582,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "price.index = np.arange(len(price))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 583,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    1990.000000\n",
       "1    1992.681818\n",
       "2    1993.933962\n",
       "Name: 最新, dtype: float64"
      ]
     },
     "execution_count": 583,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "price[:3]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 584,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4978    2210.711111\n",
       "4979    2212.000000\n",
       "4980    2212.470588\n",
       "4981    2213.120000\n",
       "4982    2214.000000\n",
       "Name: 最新, dtype: float64"
      ]
     },
     "execution_count": 584,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "price[-5:]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 进行简单设置，使得matplotlib输出矢量图，画图更清晰"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 585,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "%config IndexBackend.figure_format = \"svg\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 586,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x576 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize = (12, 8))\n",
    "plt.plot(price, label = \"rb_1603\")\n",
    "plt.title(\"螺纹钢三月份价格时序图\", fontsize = 16)\n",
    "plt.xticks(fontsize = 8, )\n",
    "plt.yticks(fontsize = 13, rotation = 30)\n",
    "plt.legend(fontsize = 18, loc = \"upper center\", shadow = True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 同时也可以画出交易量的图形，进行量价分析更直观"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 587,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "volume = rb_data.成交量"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 588,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2016-03-04 20:59:00     1168.0\n",
       "2016-03-04 21:00:00    28668.0\n",
       "2016-03-04 21:01:00    20000.0\n",
       "Name: 成交量, dtype: float64"
      ]
     },
     "execution_count": 588,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "volume[:3]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 589,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2016-03-04 20:45:00      1168.0\n",
       "2016-03-04 21:00:00    256288.0\n",
       "2016-03-04 21:15:00    159906.0\n",
       "2016-03-04 21:30:00    303364.0\n",
       "2016-03-04 21:45:00    393590.0\n",
       "2016-03-04 22:00:00    256498.0\n",
       "2016-03-04 22:15:00    202320.0\n",
       "2016-03-04 22:30:00    141406.0\n",
       "2016-03-04 22:45:00    100118.0\n",
       "2016-03-04 23:00:00    448358.0\n",
       "                         ...   \n",
       "2016-03-22 12:45:00         NaN\n",
       "2016-03-22 13:00:00         NaN\n",
       "2016-03-22 13:15:00         NaN\n",
       "2016-03-22 13:30:00     80208.0\n",
       "2016-03-22 13:45:00     36472.0\n",
       "2016-03-22 14:00:00     62610.0\n",
       "2016-03-22 14:15:00     44036.0\n",
       "2016-03-22 14:30:00     61300.0\n",
       "2016-03-22 14:45:00     65936.0\n",
       "2016-03-22 15:00:00       222.0\n",
       "Freq: 15T, Name: 成交量, Length: 1706, dtype: float64"
      ]
     },
     "execution_count": 589,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "volume.resample(\"15min\").sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 590,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count      4983.000000\n",
       "mean      11095.972707\n",
       "std       13413.761126\n",
       "min           4.000000\n",
       "25%        3608.000000\n",
       "50%        6968.000000\n",
       "75%       13519.000000\n",
       "max      231440.000000\n",
       "Name: 成交量, dtype: float64"
      ]
     },
     "execution_count": 590,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "volume.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 591,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nGA8swpOyEckxEREREZGYEPIKtXNupvf/m4CTgHeBE51zdZEei9zLExERERHpWO1ZocY5t42Gyhwd\nMiYiIiIiEgvUKVFEREREJAwKqEVEREREwqCAWkREREQkDAqoRURERETCoIBaRERERCQMCqhFRERE\nRMKggFpEREREJAwKqEVEREREwqCAWkREREQkDAqoRURERETCoIBaRERERCQMCqhFRERERMKggFpE\nREREJAwKqEVEREREwqCAWkREREQkDAqoRURERETCoIBaRERERCQMCqhFRERERMKggFpEREREJAxt\nDqjNrJeZzTezxWZ2j3fsPjN738yuCziu3WMiIiIiIrGiPSvUFwGPOOcKgEwz+ykQ75ybBowws9Fm\nNru9YxF6XSIiIiIinSKhHV+zBzjEzHKAIUAx8KT3sZeBGcBhYYytacecRERERESioj0r1O8Aw4Af\nACuAJGCr97EiIA9ID2OsCTO73JtisriwsLAdUxYRERER6RjtCah/CVzhnLsZWAlcAKR6H8vwnrMs\njLEmnHPznHMFzrmC3NzcdkxZRERERKRjtCeg7gUcambxwJHAXDypGgATgY3AkjDGRERERERiRnty\nqG8D7seT9vE+cCfwtpkNBE4DpgIujDERERERkZjR5hVq59wHzrmDnXMZzrmTnHMlwExgIXCcc644\nnLFIvCgRERERkc4SkcYuzrm9zrknnXM7IjEmHvlzno/2FERERESkFeqUKCIiIiISBgXUIiIiIiJh\nUEAtIiIi3YpSJqWzKaAWEREREQmDAmoRERERkTAooBYRERERCYMCahERERGRMCigFhEREREJgwJq\nEREREZEwKKAWEREREQmDAmoRERERkTAooO7iVJxeREREpGtTQC0iIiIiEgYF1CIiIiIiYVBALSIi\nIiISBgXUIiIiIiJhUEAtIiIiIhIGBdQxTlVARERERKJLAbXEDH14EBERka6o3QG1mf3VzM7w3r7P\nzN43s+sCHm/3mIiIiIhIrGhXQG1mRwP9nXPPmtlsIN45Nw0YYWajwxmL0OsSEREREekUbQ6ozSwR\n+Duw0czOBGYCT3offhmYEeaYiIiIiEjMaM8K9cXA58BvgSOA7wFbvY8VAXlAehhjTZjZ5Wa22MwW\nFxYWtmPKIiIiIiIdoz0B9WHAPOfcDuBhYAGQ6n0sw3vOsjDGmnDOzXPOFTjnCnJzc9sxZRERERGR\n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\nrkJggg==\n",
      "text/plain": [
       "<Figure size 864x576 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Wall time: 10.5 s\n"
     ]
    }
   ],
   "source": [
    "%%time\n",
    "plt.figure(figsize = (12, 8))\n",
    "plt.subplot(211,)\n",
    "plt.subplots_adjust(hspace = 0.1)\n",
    "plt.plot(price, label = \"rb_1603\")\n",
    "plt.title(\"螺纹钢三月份价格时序图\", fontsize = 16)\n",
    "plt.xticks(fontsize = 8, )\n",
    "plt.yticks(fontsize = 13, rotation = 30)\n",
    "plt.legend(fontsize = 18, loc = \"upper center\", shadow = True)\n",
    "plt.subplot(212)\n",
    "plt.bar(np.arange(len(volume)), height = volume, width = 1.8, label = \"Volume\", )\n",
    "plt.legend(loc = \"best\", fontsize = 15, facecolor = \"b\", title = \"交易量\")\n",
    "plt.ylim(2000, 150000)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 计算指数加权移动平均线"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 先定义指数加权移动平均函数，方便后续反复调用"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 592,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def ewmaCal(tsprice, period = 5, exponential = 0.2):\n",
    "    Ewma = pd.Series(0.0, index = tsprice.index)\n",
    "    Ewma[period-1] = np.mean(tsprice[:period])\n",
    "    for i in range(period, len(tsprice)):\n",
    "        Ewma[i] = exponential*tsprice[i] + (1-exponential)*Ewma[period - 1]\n",
    "    return(Ewma)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 593,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    1990.000000\n",
       "1    1992.681818\n",
       "2    1993.933962\n",
       "3    1994.533333\n",
       "4    1992.674419\n",
       "5    1989.142857\n",
       "6    1985.380531\n",
       "7    1988.459184\n",
       "8    1990.750000\n",
       "9    1990.068966\n",
       "Name: 最新, dtype: float64"
      ]
     },
     "execution_count": 593,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "price[:10]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 594,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4983"
      ]
     },
     "execution_count": 594,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(price)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 595,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style>\n",
       "    .dataframe thead tr:only-child th {\n",
       "        text-align: right;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>最新</th>\n",
       "      <th>成交量</th>\n",
       "      <th>成交额</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2016-03-04 20:59:00</th>\n",
       "      <td>1990.000000</td>\n",
       "      <td>1168.0</td>\n",
       "      <td>23243200.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 21:00:00</th>\n",
       "      <td>1992.681818</td>\n",
       "      <td>28668.0</td>\n",
       "      <td>571134760.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2016-03-04 21:01:00</th>\n",
       "      <td>1993.933962</td>\n",
       "      <td>20000.0</td>\n",
       "      <td>398867440.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                              最新      成交量          成交额\n",
       "2016-03-04 20:59:00  1990.000000   1168.0   23243200.0\n",
       "2016-03-04 21:00:00  1992.681818  28668.0  571134760.0\n",
       "2016-03-04 21:01:00  1993.933962  20000.0  398867440.0"
      ]
     },
     "execution_count": 595,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "rb_data.head(3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 求15min均线"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 596,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "Ewma15 = ewmaCal(price, 15, 0.2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 597,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4980    2034.795349\n",
       "4981    2034.925232\n",
       "4982    2035.101232\n",
       "dtype: float64"
      ]
     },
     "execution_count": 597,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Ewma15.tail(3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 求45min均线"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 598,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "Ewma45 = ewmaCal(price, 45, 0.2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 599,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4980    2036.289822\n",
       "4981    2036.419705\n",
       "4982    2036.595705\n",
       "dtype: float64"
      ]
     },
     "execution_count": 599,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Ewma30.tail(3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 画出双均线图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 600,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\nHyli0XhA/TizAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 720x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize = (10, 6))\n",
    "plt.plot(Ewma15[15:], \"b\", alpha = 0.9, label = \"15min均线\", lw = 0.3)\n",
    "plt.plot(Ewma30[45:], \"g-\", alpha = 0.9, label = \"45min均线\", lw = 0.8)\n",
    "plt.title(\"$15$min、$45$min均线图\", fontsize = 16)\n",
    "plt.legend(fontsize = 15, loc = \"lower right\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 双均线交叉捕捉买卖点"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 601,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "Signal = pd.Series(0, index = Ewma15.index)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 602,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0    0\n",
       "1    0\n",
       "2    0\n",
       "3    0\n",
       "4    0\n",
       "5    0\n",
       "6    0\n",
       "7    0\n",
       "8    0\n",
       "9    0\n",
       "dtype: int64"
      ]
     },
     "execution_count": 602,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Signal[:10]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 603,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "for i in range(1, len(Ewma15)):\n",
    "    if all([Ewma15[i]>Ewma45[i], Ewma15[i-1]<Ewma45[i-1]]):\n",
    "        Signal[i] = 1\n",
    "    elif all([Ewma15[i]<Ewma45[i], Ewma15[i-1]>Ewma45[i-1]]):\n",
    "        Signal[i] = -1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 604,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "44   -1\n",
       "dtype: int64"
      ]
     },
     "execution_count": 604,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Signal[Signal == -1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 605,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Series([], dtype: int64)"
      ]
     },
     "execution_count": 605,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Signal[Signal == 1]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 求取每分钟收益率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 606,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "returns = (price - price.shift(1)) / price.shift(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 607,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0         NaN\n",
       "1    0.001348\n",
       "2    0.000628\n",
       "Name: 最新, dtype: float64"
      ]
     },
     "execution_count": 607,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "returns.head(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 608,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4980    0.000213\n",
       "4981    0.000294\n",
       "4982    0.000398\n",
       "Name: 最新, dtype: float64"
      ]
     },
     "execution_count": 608,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "returns.tail(3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 分析：上述过程中，根据15min和45min双均线模型，只出现了一个卖出点信号，无买入点信号。具体原因，首先，可能是所取时间跨度不合适，但通过分别测试10min, 30min, 60min等常用移动平均值，效果仍然不明显。深入思考，可能原因有二：第一，该时间段中不适合使用双均线模型作为技术指标捕捉买卖点；第二，该时间段确实无明显买卖点信号，最好锁仓，暂时停止无谓的交易，节约交易成本。"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
